package org.example.warehouse.dao;


import org.apache.ibatis.annotations.MapKey;
import org.apache.ibatis.annotations.Param;
import org.example.warehouse.bo.WareSkuBO;
import org.example.warehouse.dto.WareSkuDto;
import org.example.warehouse.entity.WareSkuEntity;

import java.util.List;
import java.util.Map;

/**
 * @author xiaojie_cc
 * @version 1.0
 */
public interface WareSkuDao{

    // 锁定库存
    int updateStock(@Param("skuId") Long skuId, @Param("count") Integer count);

    // 解锁库存
    void unLockedStock(@Param("skuId") Long skuId, @Param("num") Integer num);

    int addWareSkus(@Param("wareSkus") List<WareSkuEntity> wareSku);

    Integer getStockBySkuId(@Param("skuId") Long skuId);

    List<WareSkuEntity> getSkusIsStocks(@Param("skuIds") List<Long> skuIds);

    List<WareSkuEntity> getSeckillSkuStock(@Param("skuIds") List<Long> skuIds);

    List<WareSkuEntity> list(WareSkuDto dto);

    int update(WareSkuBO bo);
}
